Signature sequence selection, system value bit loading and energy allocation method and apparatus for multicode single-input single-output and multiple-input multiple-output parallel channels

ABSTRACT

A method of transmitting data over a radio data transmission system having a plurality of K parallel single-input single-output or multiple-input multiple-output channels, the method comprising transmitting data at a rate b p+1  bits per symbol over a first group of (K−m) channels, and at a rate 6, bits per symbol over a second group of m channels, by spreading the data using a number of signature sequences.

FIELD OF THE INVENTION

The present invention relates to base-station apparatus and a method ofproviding communication over single-input single-output (SISO) andmultiple-input multiple-output (MIMO) multicode and multichannelsystems. It is applicable, by no means limited, to signature sequenceallocation, bit loading and energy allocation for Code Division MultipleAccess (CDMA) SISO and MIMO systems for High Speed Downlink PacketAccess (HSDPA) communication systems.

BACKGROUND TO THE INVENTION

There have been several methods proposed for operational mobile radiosystems and apparatus which use CDMA multicode transmission schemesaiming to achieve capacity improvements for the links which make up thesystem. Recent wireless technologies such as MIMO HSDPA systems [1],which use multi-code spreading sequence transmissions, have beendesigned to substantially improve the practically achievable sumcapacity closer to the theoretical upper bound [2]. For a specificallyidentified channel impulse response, the sum capacity upper bound of amulti-code transmission system is reached using the well-knownwater-filling method to adjust the transmission energy and the data rateper spreading sequence.

Alternatively, this maximum sum capacity is also achievable when optimumsignature sequences are employed as spreading sequences with equalenergy allocation to transmit unequal data rates per channel. However,providing unequal discrete bit rates to achieve the maximum sum capacitywith equal energy loading may not be a practical implementation. A nearmaximum sum capacity can also be achieved when the total energy isunequally allocated such that an equal bit rate is loaded to eachchannel using the two-group approach described in [22] for HSDPA SISOsystems. WO 2010/106330 [22] provides a bit loading and energyallocation method and apparatus for HSDPA downlink transmission.Maximizing the sum capacity with unequal energy loading may requireconstrained optimization, which normally needs an iterative process todetermine the bit rate and energy. The present work improves upon thisearlier work by providing a signature sequence selection, bit loadingand energy allocation method and apparatus for SISO as well as MIMOsystems when estimating the transmission bit rate without usingiterative energy allocation for HSDPA down link transmission over mobileradio systems.

There have been many patent documents [3, 4, 5, 6, 7, 8, 9, 10, 11, 12,13, 14, 15, 16, 17, 18, 19, 20, 21, 22] describing methods and apparatusrelated to HSDPA and HSDPA MEMO links, comprising a mobile radionetwork, that aim to improve the transmission capacity over the links. Apatent review has been carried out to identify whether any approach hasbeen considered as part of any existing patent document to allocate thetransmission bit rate without using iterative energy allocation methodwhilst using unequal energy allocation when operating over HSDPAmulticode SISO and MIMO systems.

US 2011/0019629 [3] discloses a method for selecting a transmissiontechnology (MIMO or non MIMO) for a HSDPA connection established betweena RNC (Radio Network Controller) and a UE (User Equipment) depending onthe mobility of said UE, measured at the RNC as variations of theposition of the UE.

US 2010/0296446 [4] discloses a communication device configured fordynamic switching between Multiple-Input and Multiple-Output (MIMO) andDual-Cell High Speed Downlink Packet Access (DC HSDPA).

US 2010/0238886 [5] discloses a method, an apparatus, and a computerprogram product for wireless communication in which a singlechannelization code may be utilized on an uplink channel for providing aHARQ ACK/NACK response corresponding to DC-HSDPA+MIMO. Here, the set ofchannelization codes includes four codeword groups, each codeword groupcorresponding to a scenario wherein a node B schedules a singletransport block or dual transport blocks on each of the two downlinkcarriers.

US 2009/0161690 [6] provides a method and system for channel estimationin a single channel MIMO system comprising two-transmit andmultiple-receive antennas for WCDMA/HSDPA in a wireless system.

US 2009/0135893 [7] provides a method which may comprise generatingmodels for a received plurality of spatially multiplexed communicationsignals for multiple channels from a plurality of transmit antennas.

US 2006/0072514 [8] discloses methods and systems for processing signalsin a receiver which may comprise receiving spatially multiplexed signalsvia M receive antennas.

US 2006/0072607 [9] provides a method and system for channel estimationin a single channel MIMO system comprising two-transmit andmultiple-receive antennas for WCDMA/HSDPA in a wireless system.

US 2006/0072629 [10] provides aspects for implementing a single weightsingle channel MIMO system with no insertion loss which may comprisegenerating at least one control signal that is utilized to control atleast one of a plurality of received signals in a WCDMA and/or HSDPAsystem.

US 2010/0254315 [11] discloses a method for indicating a modulation modein HSDPA when a terminal reports a Node B receiving capabilityinformation which determines a transmission block size, a modulationmode and code channel resource.

US 2010/0234058 [12] discloses a method and arrangement in a radiocommunication network for predicting channel quality on a downlinkchannel. A radio base station (RBS) transmits data on the downlinkchannel to one or more user equipment (UEs), each of which transmits achannel quality indicator to the RBS on an uplink channel. The RBSderives a needed downlink transmission power from the received channelquality indicator, and predicts a channel quality for a next downlinktransmission based on the received channel quality indicator.

US 2010/0208635 [13] discloses a device for communicating with a mobiledevice. The devices include a transmitter. The transmitter transmits afirst modulation scheme, a first transport block size, and a firstredundancy version to a mobile device. The first transport block size isrepresented by a first number of bits and the first redundancy versionis represented by a second number of bits. The transmitter transmits apacket based on the first modulation scheme to a mobile device for anHSDPA system.

US 2010/0322224 [14] provides a server and a terminal enabling channelcapacity estimation in a High-Speed Downlink Packet Access (HSDPA)network and a method of controlling the server and the terminal. Moreparticularly, when transmitting data between both terminals in an HSDPAnetwork, a server end may transmit a packet pair of the same size and aclient end may measure a time difference between the packet pair andthereby proceed filtering. Through this, it is possible to estimate thechannel capacity.

US 2010/0311433 [15] discloses a telecommunication system comprising aradio network controller (RNC), and a Node-B (NB) for enabling wirelesscommunication with a user terminal (UE). The RNC establishes an enhanceddedicated transport channel (E-DCH) which enables uplink data trafficwith a determined maximum data rate from the user terminal (UE) to theNB. The RNC further establishes a high speed DL shared channel (HS-DSCH)which enables downlink data traffic with a determined maximum data ratefrom the NB to the user terminal.

US 2010/0298018 [16] discloses a method of indicating to a secondarystation a set of at least one available transmission resource among apredetermined plurality of transmission resources, each set beingdescribed by a plurality of parameters for HSDPA systems.

US 2008/0299985 [17] discloses a method of allocating downlink trafficchannel resources for multi-carrier HSDPA, and the method includes:first of all, selecting a carrier with the optimum channel condition;determining whether the carrier meets the resource allocation demand ofa downlink traffic channel, if yes, allocating resources that meet thedownlink traffic channel on the carrier; otherwise, allocating theavailable resources of the carrier to the downlink traffic channel, andselecting a carrier with the optimum channel condition from theremaining carriers for resource allocation according to the remainingresource allocation demand of the downlink traffic channel.

US 2007/0091853 [18] discloses a transmission unit comprising a firstunit (CM_SCHDR) receiving scheduled first data (DATA2, DATA3) fortransmission on at least a first channel, a power control unit(PWR_CTRL) for the first channel responsive to a respective closed looppower regulation signal (TCP_CMD), under which at least the transmitpower rate of change is limited to a predetermined value per time unit,a packet data scheduler (HS_SCHDR) scheduling second data packets(DATA1), such as HSDPA data.

US 2007/0072612 [19] discloses a wireless (radio) communication systemhaving a high-speed packet communication function, which is based on anHSDPA (High Speed Downlink Packet Access) system, the wirelesscommunication system including a base station control device, the basestation control device including a unit receiving from a handover sourcebase station.

US 2006/0252446 [20] discloses a method and apparatus for setting apower limit for high speed downlink packet access (HSDPA) services. In awireless communication system comprising a plurality of cells, each cellsupports transmissions via at least a dedicated channel (DCH) and aHSDPA channel and is subject to a maximum downlink transmission powerlimit.

US 2006/0246939 [21] relates to wireless communication networks, and tothe way in which communication devices choose their transmission powerwhen communicating with each other. More specifically, the inventionrelates to a method of controlling the transmission power of a firstcommunication device in a wireless communications network based on theUMTS standard, the first communication device having established a HSDPAconnection to a second communication device, whereby the absolute valueof the difference between the HSDPA transmission power in a firsttransmission time interval (tti1) and the HSDPA transmission power in asubsequent second transmission time interval (tti2) is chosen to besmaller than a predetermined value (v).

The Main Problem

The main problem tackled in the present work is to improve the two-group[25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36] resource allocationscheme described in WO 2010/106330 [22], which has been shown to producea near optimal system throughput. This method loads the total energyover two groups of channels to realize two adjacent discrete bit ratesb_(p) and b_(p+1) bits per symbol when implementing the followingconstrained optimization solution for a given total constrained energyE_(T):

$\begin{matrix}{{{\max \; R_{T}} = {{\left( {K - m} \right)b_{p}} + {mb}_{p + 1}}}{{{{subject}\mspace{14mu} {to}\text{:}\mspace{14mu} E_{sum}} = {{\sum\limits_{k = 1}^{K}\; E_{k}} \leq E_{T}}},}} & (1)\end{matrix}$

The two-group resource allocation scheme was originally formulated touse the total constrained energy E_(T) by allocating two adjacent bitrates b_(p) and b_(p+1) over two groups of channels to be transmitted intwo groups of channels, where m is the number channels transmitting thehigher data rate b_(p+1).

For a constrained optimization, a discrete time domain multi-code HSDPAsystem model can be considered with a maximum of K parallel codechannels, an ((N+L−1)×N)-dimensional channel convolution matrix matrixH, an orthonormal signature sequence matrix S=└{right arrow over (s)}₁ .. . {right arrow over (s)}_(K)┘ with a spreading factor of N, a set ofrealizable discrete bit rates {b_(p)}_(p=1) ^(P) and a total constrainedenergy of E_(T) per symbol. In order to determine the desired total bitrate R_(T) the energy E_(k) for k=1, . . . , K needs to be iterativelycalculated to find the highest possible bit rate b_(p) to be allocatedto a channel k using the following iterative energy calculation [23]

$\begin{matrix}{{E_{k} = \frac{\gamma_{k}^{*}}{\left( {1 + \gamma_{k}^{*}} \right){\overset{\_}{q}}_{k}^{H}C^{- 1}{\overset{\_}{q}}_{k}}},} & (2)\end{matrix}$

where γ_(k)*=Γ(2^(y) ^(k) −1) is the target SNIR when transmitting dataat the rate y_(k)ε{b_(p): p=1, . . . , P−1} and Q=HS=[{right arrow over(q)}₁, . . . {right arrow over (q)}_(K)] is the receiver signaturesequence matrix and also C⁻¹ is the inverse covariance matrix. The termF is the gap value [24]. The energy calculation method, as given inequation (2) is an iterative process as the energy equation given in theabove optimization problem depends on the target SNR, γ_(k)*, for a bitrate y_(k)=b_(p) and the inverse covariance matrix C⁻¹, which is afunction of the energy. If the maximum number of iterations required tocalculate the energy is I_(max), iterative energy calculation becomescomputationally expensive especially as the number K of the channels andthe number P of the discrete bit rates increase. The maximum possiblebit rate combinations is as high as P^(K); this may require a maximumnumber of I_(max)P^(K) matrix inversions to identify the data rates tobe transmitted and energies to be allocated for each channel k for k=1,. . . , K.

The maximum number of energy calculation iterations to determine therate and the energy using the two-group resource allocation scheme isreduced to (P+K−1)I_(max) as there are P discrete bit rates and themaximum number m of channels for the second group is K−1. Furthermore,each of these iterations requires a matrix inversion C⁻¹, which is stillcomputationally expensive. Therefore, the present work provides asolution to reduce the maximum number of iterations from (P+K−1)I_(max)to I_(max) to obtain the optimized total transmission rate using aclosed form rate calculation method referred to as the system valueapproach which is integrated with the two group approach.

There are Three Aspects of the Present Work:

The first aspect of the present work deals with finding the optimumsignature sequences to be used S=└{right arrow over (s)}₁ . . . {rightarrow over (s)}_(K)┘ for a given channel impulse response matrix tomaximize the total transmission rate.

The second aspect of the present work deals with calculating thetransmission bit rates b_(p) and b_(p+1) over two groups of channels,and also m (the number channels transmitting the higher data rateb_(p+1)), without using iterative energy calculations by using thesystem value approach. This reduces the number of iterations and hencethe number of matrix inversions from (P+K−1)I_(max) to I_(max) whenallocating energies to transmit the required rates b_(p) and b_(p+1)over two groups of channels.

The third aspect of the present work deals with eliminating the need toinvert a covariance matrix per energy iteration when calculating theenergy for each channel iteratively. The inverse of the covariancematrix for each spreading sequence is calculated for a given energyallocation. Energy for a given spreading sequence channel is iterativelyestimated using the inverse of the previous channel covariance matrixand the previous energy allocated for the current channel. The inverseof the covariance matrix for the current channel is then calculatedusing the inverse of the previous channel covariance matrix and also theenergy allocation for the current channel.

SUMMARY OF THE INVENTION The First Aspect of the Present Work

According to the first aspect of the present work there is provided amethod of transmitting data over a radio data transmission system, asdefined in Claim 1 of the appended claims. It should be noted that,although Claim 1 and its dependent claims specify a method oftransmitting data, the processing steps involved may be implemented atthe transmitter or the receiver, as those skilled in the art willappreciate.

The maximization of the total rate R_(T) for a given total energy E_(T),depends on the signature sequences S=└{right arrow over (s)}₁ . . .{right arrow over (s)}_(K)┘ and also the number of channels to be used.The objective here is to find the signature sequence matrix S=└{rightarrow over (s)}₁ . . . {right arrow over (s)}_(K)┘ which will maximizethe total rate for a given channel impulse response matrix H. The firstaspect involves the following inventive steps in the calculation ofoptimum signature sequences for single-in-single-out (SISO) andmultiple-in-multiple-out (MIMO) transmission systems. The steps are

-   -   identification of the optimum sequences;    -   the calculation of optimum number of signature sequences and    -   the use of optimum signature sequences in the transmission        system model description.    -   1. For the optimum signature sequence identification, channel        matrix H is considered. For the SISO systems it is assumed that        the channel convolution matrix is H. For the MIMO systems with        two transmit and two receive antennas the channel convolution        matrix is

$H = \begin{bmatrix}H_{1,1} & \; & H_{1,2} \\\; & \; & \; \\H_{2,1} & \; & H_{2,2}\end{bmatrix}$

where H_(i,j) for i=1,2 and j=1,2 is the channel convolution matrixbetween transmitter antenna j and receiver antenna i.

The receiver matched filter matrix is given by Q=HS=└{right arrow over(q)}₁ . . . {right arrow over (q)}_(K)┘. The orthogonal transmittersignature sequence is given in terms of the Gram matrixH^(H)H=V_(H)D_(H)V_(H) ^(H) where D_(H) is the diagonal matrix of Eigenvalues and V_(H) is the matrix of Eigen vectors. The optimum spreadingsequence is obtained by S=└{right arrow over (s)}₁ . . . {right arrowover (s)}_(K)┘. The channel gains of the transmission system is taken tobe |h_(k)|²=[Q^(H)Q]_(k,k) for k=1, . . . , K and the optimum signaturesequences and channel gains are used to establish the number of channelsto be used.

-   -   2. For estimating the optimum number of channels a method        similar to the water filling algorithm, which is well known to        those skilled in the art of HSDPA systems, is used where the        signature sequence matrix S is ordered such that the channel        gains |h_(k)|² appear in a descending order. The matched filter        channel-SNIR g_(k) for channel k is

$g_{k} = \frac{{h_{k}}^{2}}{2\sigma^{2}}$

for k=1, . . . , K where 2σ² is the noise per channel for the systemwith

$\sigma^{2} = \frac{N_{0}}{2}$

for two sided noise power spectral density of

$\frac{N_{0}}{2}.$

The objective here is to determine the optimum number, K*, of signaturesequences to be used. Initially K* is set to be K*=K. The water fillingenergies

$E_{k} = {{\frac{1}{K^{*}}\left\lbrack {E_{T} + {\frac{1}{\Gamma}{\sum\limits_{k = 1}^{K^{*}}\; \frac{1}{g_{k}}}}} \right\rbrack} - \frac{1}{\Gamma \; g_{k}}}$

are calculated for k=1, . . . , K*. If the energy E_(K*), for the lastchannel K*, is negative then K* is set to be (K*−1) and the energycalculation process is repeated until all energies are positive. Theresultant K* signature sequences S=└{right arrow over (s)}₁ . . . {rightarrow over (s)}_(K*)┘ are re-ordered such that the corresponding channelgains |h_(k)|² appear in an ascending order to produce a description forthe system model.

-   -   3. The optimum signature sequences are used to determine the        covariance matrix C and also the normalized receiver despreading        filters {right arrow over (w)}_(k,n) for the transmission system        using the steps as follows. The resultant signature sequences        S=└{right arrow over (s)}₁ . . . {right arrow over (s)}_(K*)┘        are initially used to produce the extended matched filter        receiver signature sequence matrix Q_(e)=[HS, H_(Prev)S,        H_(Next)S] where for the SISO systems H_(Prev)=(J^(T))^(N)H and        H_(Next)=J^(N)H and for the MIMO systems

${H_{Prev} = {\begin{bmatrix}{\left( J^{T} \right)^{N}H_{1,1}} & \; & {\left( J^{T} \right)^{N}H_{1,2}} \\\; & \; & \; \\{\left( J^{T} \right)^{N}H_{2,1}} & \; & {\left( J^{T} \right)^{N}H_{2,2}}\end{bmatrix}\mspace{14mu} {and}}}\mspace{14mu}$$H_{Next} = \begin{bmatrix}{J^{N}H_{1,1}} & \; & {J^{N}H_{1,2}} \\\; & \; & \; \\{J^{N}H_{2,1}} & \; & {J^{N}H_{2,2}}\end{bmatrix}$

Where J is an ((N+L−1)×(N+L−1))-dimensional matrix formed by

$J = \begin{bmatrix}0_{1 \times {({N + L - 2})}} & 0 \\I_{({N + L - 2})} & 0_{{({N + L - 2})} \times 1}\end{bmatrix}$

here the term N is the spreading sequence length, and L is the channelimpulse response length. The terms H_(Prev) and H_(Next) correspond tothe channel impulse responses for the previous and the next symbolperiods respectively. When considering an Mary-QAM transmission systemwith unity average transmission energy, it is assumed that thetransmitted signal amplitudes are adjusted in accordance with theextended amplitude square matrix A_(e) ²=Diag(└{right arrow over (E)}{right arrow over (E)} {right arrow over (E)}┘) where the energy vectoris given by {right arrow over (E)}=[E₁, E₂, . . . E_(K)]. For theallocated energies the receiver covariance matrix is obtained usingC=Q_(e)A_(e) ²Q_(g) ^(H)+2σ²I_(N) _(r) _((N+L−1)) where N_(r) is thenumber of receiver antennas. When using the MMSE(minimum-mean-square-error) optimization the normalized receiver filtercoefficients is given by

${\overset{\rightarrow}{w}}_{k,n} = {\frac{C^{- 1}{\overset{\rightarrow}{q}}_{k}}{{\overset{\rightarrow}{q}}_{k}^{H}C^{- 1}{\overset{\rightarrow}{q}}_{k}}.}$

The Second Aspect of the Present Work

To address the problem of estimating the number of bits b_(p) andb_(p+1), and also the number m which is the number of channelstransmitting the higher data rate b_(p+1) without estimating theenergies iteratively, the method may include the further steps definedin Claim 2 of the appended claims, which may be considered to form asecond aspect of the present work.

This second aspect may be organized to have the following steps:

-   -   1. Design a set of optimum signature sequences for multi-code        systems to remove the MAI or use a set of orthogonal signature        sequences when considering multipath channel matrix H. Then        remove any weak channels, if any, as outlined in step 2 of the        first aspect of the present work to maximize the sum capacity,        hence the total bit rate.    -   2. Produce a sum capacity upper-bound with the previously        identified optimum signature sequences and equal energy loading.        This upper-bound is expressed in terms of a parameter introduced        as a system value, which reaches its maximum when the total        energy is equally distributed over all channels.    -   3. Incorporate a closed-form bit rate calculation method, which        requires no energy calculation iterations, into a two-group        resource allocation scheme, which considers only two adjacent        bit rates to be allocated over the K parallel code channels.

When designing an MMSE equalizer at the receiver we use a parameterλ_(k) which we refer to as the system value and is given by

λ_(k) =E _(k) {right arrow over (q)} _(k) ^(H) C ⁻¹ {right arrow over(q)} _(k)  (3)

The maximum total system value λ_(T,max) over K* employed code channelsis expressed as

$\begin{matrix}{\lambda_{T,{{ma}\; x}} = {\frac{E_{T}}{K^{*}}{\sum\limits_{k = 1}^{K^{*}}{{\overset{\rightarrow}{q}}_{k}^{H}C^{- 1}{\overset{\rightarrow}{q}}_{k}}}}} & (4)\end{matrix}$

We consider target system values

${\lambda^{*}\left( b_{p} \right)} = {{\frac{\Gamma \left( {2^{b_{p}} - 1} \right)}{1 + {\Gamma \left( {2^{b_{p\;}} - 1} \right)}}\mspace{14mu} {and}\mspace{14mu} {\lambda^{*}\left( b_{p + 1} \right)}} = \frac{\Gamma \left( {2^{b_{p + 1}} - 1} \right)}{1 + {\Gamma \left( {2^{b_{p + 1}} - 1} \right)}}}$

if we wish to transmit data rates b_(p) and b_(p+1). By using the totalsystem value λ_(T,max), the total bit rate R_(r)=(K−m)b_(p)+mb_(p+1) forthe two-group resource allocation scheme is determined by using thesystem value approach and the following inventive steps to reduce thenumber of iterations from (P+K−1)I_(max) to I_(max).

-   -   1. Calculate the receiver signature sequence matrix Q=HS=[{right        arrow over (q)}₁ . . . {right arrow over (q)}_(K)] and sort the        diagonal elements [Q^(H) _(Q)]_(k,k) in a descending order for        k=1, . . . K. Perform a simplified water-filling theorem to find        the optimal number K*. Then reorder the signature sequences such        that the channel gains, |h_(k)|², appear in an ascending order.        Calculate the extended receiver signature sequence of Q_(e)=[HS,        H_(Prev)S, H_(Next)S] (for ISI case).    -   2. Calculate the covariance matrix

$C = {{\frac{E_{T}}{K^{*}}Q_{e}Q_{e}^{H}} + {2\sigma^{2}I_{{Nr}{({N + L - 1})}}}}$

and also the system value

$\lambda_{k} = {\frac{E_{T}}{K^{*}}{\overset{\rightarrow}{q}}_{k}^{H}C^{- 1}{\overset{\rightarrow}{q}}_{k}}$

for k−1, . . . , K*, the total system value λ_(T,max)=Σ_(k=1) ^(K*)λ_(k)and the mean system value

$\lambda_{mean} = {\frac{\lambda_{T,{{ma}\; x}}}{K^{*}}.}$

-   -   3. Find b_(p) by satisfying the following inequality)

λ*(b _(p))≦λ_(mean)<λ*(b _(p+1))  (5)

-   -   4. Find the highest integer in value by satisfying the following        inequality

(K*−m)λ*(b _(p))+mλ*(b _(p+1))<λ_(T,max)  (6)

It is clear from the step-by-step procedures presented above, the totalbit rate R_(T)=(K*−m)b_(p)+mb_(p+1) for the two-group resourceallocation scheme is determined without using any energy calculationiterations. Instead of requiring (P+K−1)I_(max) energy calculationiterations, hence the number of matrix inversions and the number ofmatrix inversions required by this simplified rate calculation methodbased on the system value approach is only one. Once the rates for eachchannel is found, the energies for each channel needs to be calculated.This requires a total of I_(max) iterative energy calculations whichrequires the use of iterative energy equation as follows.

-   -   5. Allocate

$E_{k} = \frac{E_{T}}{K^{*}}$

for k=1, . . . , K* and set i=1 and formulate the extended amplitudematrix A_(e,i) ² and formulate the covariance matrix C_(i)=Q_(e)A_(e,i)²Q_(e) ^(H)+2σ²I_(Nr(N+L−1)).

-   -   6. Set the target system value for the first (K*−m) channels to        be

${\lambda^{*}\left( b_{p} \right)} = \frac{\Gamma \left( {2^{b_{p}} - 1} \right)}{1 + {\Gamma \left( {2^{b_{p}} - 1} \right)}}$

and the remaining m channels to be

${\lambda^{*}\left( b_{p + 1} \right)} = {\frac{\Gamma \left( {2^{b_{p + 1}} - 1} \right)}{1 + {\Gamma \left( {2^{b_{p + 1}} - 1} \right)}}.}$

-   -   7. Solve the energy equations iteratively using

$\begin{matrix}{{E_{k,{i + 1}}\left( b_{p} \right)} = \frac{\lambda^{*}\left( b_{p} \right)}{\left\lbrack {{Q^{H}\left( {{Q_{e}A_{e,i}^{2}Q_{e}^{H}} + {2\sigma^{2}I_{{Nr}{({N + L - 1})}}}} \right)}^{- 1}Q} \right\rbrack_{k,k}}} & (7)\end{matrix}$

or k=1, . . . , (K−m) and

$\begin{matrix}{{E_{k,{i + 1}}\left( b_{p + 1} \right)} = \frac{\lambda^{*}\left( b_{p + 1} \right)}{\left\lbrack {{Q^{H}\left( {{Q_{e}A_{e,i}^{2}Q_{e}^{H}} + {2\sigma^{2}I_{{Nr}{({N + L - 1})}}}} \right)}^{- 1}Q} \right\rbrack_{k,k}}} & (8)\end{matrix}$

for k=1, . . . , (K−m) and for k=(K−m+1), . . . K respectively. Theniteratively formulate the energy vector {right arrow over(E)}_(i+1)=[E_(1,i+1), E_(2,i+1), . . . , E_(K,i+1)] and set i=i+1 andformulate the extended amplitude square matrix as A_(e,i) ²=Diag(└{rightarrow over (E)}i {right arrow over (E)}i {right arrow over (E)}i┘).Repeat the iterations given in step 7 until E_(k,i)=E_(k,(i−1)) or themaximum number of iterations I_(max) is reached.

Each of these energy calculation iterations given in equations (7) and(8) requires a matrix inversion C⁻¹ and up to I_(max) matrix inversionsmay be required which is computationally expensive. Therefore, a thirdaspect of the present work, as defined in Claim 3 of the appendedclaims, uses the following steps to reduce the computational complexityfor the iterative energy calculation.

The Third Aspect of the Present Work

It has already been noted that the second aspect of the present work isto reduce the number of iterations from (P+K−1)I_(max) to I_(max) usinga closed form rate calculation method, which finds the total bit ratewithout using any energy calculations by means of the system valueapproach. The number of matrix inversions required by this simplifiedrate calculation method based on the system value approach is only one.Once the rates for each channel is found, the energies for each channelneeds to be calculated. This requires a total of I_(max) iterativeenergy calculations using the system value approach. The third aspect ofthe present work involves two steps.

-   -   Iterative energy calculation for a given spreading sequence        using the inverse of the covariance matrix of the previous        channel and also the energy of the previous iteration for the        current channel.    -   Calculation of the inverse of the covariance matrix for the        current channel using the energy allocated to the current        channel and also the inverse of the covariance matrix for the        previous channel.        The Details of these Steps are:    -   1. As part of the second aspect of the present work, a        simplified energy calculation method is developed using the        lower bit rate b_(p), b_(p+1) and the number m of the channels        calculated by using a method referred to as the system value        approach. When implementing the energy calculation E_(k) for        channel k, the main parameter, which changes from one channel to        another during the energy calculation process, is the inverse        covariance matrix C_(k−1) ⁻¹. The first matrix inversion used is        C₀ ⁻¹=(2σ²)⁻¹I_(N) _(r) _((N+L−1)), which is computationally        inexpensive to be produced. The energy calculation starts from        channel k=1 for inverse matrix C₀ ⁻¹ is available.    -   2. For the energy E_(k) calculation for k=1, . . . , K, the        distance vectors, {right arrow over (d)}, {right arrow over        (d)}₁, {right arrow over (d)}₂ are defined as {right arrow over        (d)}=C_(k−1) ⁻¹{right arrow over (q)}_(k), {right arrow over        (d)}₁=C_(k−1) ⁻¹{right arrow over (q)}_(k,1) and {right arrow        over (d)}₂=C_(k−1) ⁻¹{right arrow over (q)}_(k,2) where {right        arrow over (q)}_(k,1)=H_(Prev){right arrow over (s)}k and {right        arrow over (q)}_(k,2)=H_(Next){right arrow over (s)}k. Further        the weighting factors, ξ, ξ₁, ξ₂, ξ₃, ξ₄ are calculated using        ξ={right arrow over (d)}^(H){right arrow over (q)}_(k),        ξ₁={right arrow over (d)}₁ ^(H){right arrow over (q)}_(k,1),        ξ₂={right arrow over (d)}₂ ^(H){right arrow over (q)}_(k,2),        ξ₃={right arrow over (d)}^(H){right arrow over (q)}_(k,1) and        ξ₄={right arrow over (d)}^(H){right arrow over (q)}_(k,2). If it        is identified that the data rate to be transmitted over channel        channel k is b_(p) bits per symbol, for a target SNR of        γ_(k)*=Γ(2 ^(b) ^(p) −1), the energy E_(k,i) is iteratively        calculated using the distance vectors and weighting factors

$\begin{matrix}{E_{k,i} = \frac{\Gamma \left( {2^{y_{k}} - 1} \right)}{\xi - {E_{k,{({i - 1})}}\left( {\frac{{\xi_{3}}^{2}}{1 + {E_{k,{({i - 1})}}\xi_{1}}} + \frac{{\xi_{4}}^{2}}{1 + {E_{k,{({i - 1})}}\xi_{2}}}} \right)}}} & (9)\end{matrix}$

and also the energy E_(k(i−1)) at channel k itself. Therefore, themaximum number I_(max) of iterations required to determine the energyE_(k) is relatively low and does not require the covariance matrix to beinverted per energy iteration.

-   -   3. With the calculated energy E_(k), the inverse covariance        matrix C_(k) ⁻¹ needs to be calculated by further defining the        matrix weighting factors ζ, ζ₁ and ζ₂ as

${\zeta = \frac{E_{k}}{1 + {\Gamma \left( {2^{b_{p}} - 1} \right)}}},{\zeta_{1} = {{\frac{E_{k}}{1 + {E_{k}\xi_{1}}}\mspace{14mu} {and}\mspace{14mu} \zeta_{2}} = {\frac{E_{k}}{1 + {E_{k}\xi_{2}}}.}}}$

The inverse of the covariance matrix C_(k) ⁻¹ is calculated as:

$\begin{matrix}{C_{k}^{- 1} = {C_{k - 1}^{- 1} - {\zeta \; \overset{\rightarrow}{d}{\overset{\rightarrow}{d}}^{H}} - {\left( {\zeta_{1} + {\zeta \; \zeta_{1}^{2}{\xi_{3\;}}^{2}}} \right){\overset{\rightarrow}{d}}_{1}{\overset{\rightarrow}{d}}_{1}^{H}} - {\left( {\zeta_{2} + {{\zeta\zeta}_{2}^{2}{\xi_{4}}^{2}}} \right){\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{2}^{H}} + {{\zeta\zeta}_{1}\left( {{\xi_{3}\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{1}^{H}} + {\xi_{3}^{*}\left( {\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{1}^{H}} \right)}^{H}} \right)} + {{\zeta\zeta}_{2}\left( {{\xi_{4}\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{2}^{H}} + {\xi_{4}^{*}\left( {\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{2}^{H}} \right)}^{H}} \right)} - {{\zeta\zeta}_{1}{\zeta_{2}\left( {{\xi_{3}\xi_{4}^{*}{\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{1}^{H}} + {\left( {\xi_{3}\xi_{4}^{*}} \right)^{*}\left( {{\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{1}^{H}} \right)^{H}}} \right)}}}} & (10)\end{matrix}$

This implementation of iterative energy calculation and inverse of thecovariance matrix calculation requires that a successive interferencecancellation (SIC) is used at the receiver. In short, this SIC-basedenergy calculation algorithm is designed as follows:

-   -   4. Calculate the initial inverse covariance matrix C₀        ⁻¹=(2σ²)⁻¹I_(N+L−1) and start the channel number as k=1.    -   5. Determine the distance vectors, {right arrow over (d)},        {right arrow over (d)}₁, {right arrow over (d)}₂ and the        weighting factors ξ, ξ₁, ξ₂, ξ₃, ξ₄.    -   6. Determine the target signal-to-noise ratio (SNR) as        γ_(k)*=Γ(2^(y) ^(k) −1) for y_(k)ε{b_(p), b_(p+1)} and set the        energy as E_(k,0)=E_(T)/K.    -   7. Determine the energy E_(k,i) iteratively from i=1 to I_(max).    -   8. Determine the matrix weighting factors ζ, ζ₁ and ζ₂.    -   9. Determine the inverse covariance matrix C_(k) ⁻¹ using        equation (10).    -   10. If k<K*, update k=k+1 and go to Step 2. Otherwise terminate        the calculation.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described, by the way ofexample only, and with reference to the drawings in which:

FIG. 1 illustrates the transmitter of a HSDPA MIMO downlink packetaccess scheme known from the prior art (Reference 1 and 2);

FIG. 2 illustrates the receiver of a HSDPA MIMO downlink packet accessscheme known from the prior art (Reference 1 and 2).

FIG. 3 illustrates the transmitter of a system according to anembodiment of the present invention; and

FIG. 4 illustrates the receiver of a system according to an embodimentof the present invention, being operable with the transmitter of FIG. 3.

In the figures, like elements are indicated by like reference numerals.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present embodiments represent the best ways known to the applicantof putting the invention into practice. However, they are not the onlyways in which this can be achieved.

Initially a HSDPA MIMO downlink packet access scheme known from theprior art will be described. After this, an example is given to show howthe optimum transmission signature sequences will be calculated and thiswill be followed by the system value approach description which is usedto estimate the transmission bit rates with iterative energycalculation.

The methods described in this work may be automatically initiated orused when the amount of data gathered at the transmitter is greater thanthe amount of data that can be carried in a block over the parallelchannels. This may be done on an ongoing basis or at regular intervals,whenever a user is granted access to the channel.

The principal elements of the HSDPA MIMO transmitter and receiver areshown in FIGS. 1 and 2 for the prior art systems. At the transmitter(FIG. 1) of the scheme described in Reference [1, 2], the binary datafrom the source appears at the data multiplexer 101. Blocks of data aredivided into K sub-blocks. The first block is fed to the channel encoder102 via the link 151,1. The second sub-block is fed at 151,2 to a secondchannel encoder which may be the same as 102. Likewise, the remainingsub-blocks are fed to the corresponding channel encoders. From the pointof operation, each of the sub-channels functions in the same way andhence, from hereon consideration will be devoted to sub-channel 1. Datafrom the channel encoder 102 is fed to a serial-to-parallel converter103. In the serial to parallel converter successive blocks of b binarybits are taken at 152 and fed at 153 to an M-ary signal generator 104.The term M-ary, as used herein, is well known in the art, and refers toM-level signal used in modulation, with M being the order of modulationas those skilled in the art will appreciate. The M-ary signal generator104 produces at its outputs 154 a signal which can take one of 2^(b)different values. These signals may be voltage values. The signalsappearing 154,1 and 154,2 are then fed to two symbol spreading units 105and 106 which operate in a manner that is well known to those skilled inthe art of spread spectrum and CDMA systems. The signals at the links155 and 156 are then power amplified by the transmission power controlunits 107 and 108. Next K signals appearing at the link 157 are added inthe adder 109,1 and also K signals appearing at 158 are added in theadder 109,2. Signals appearing at 159,1 and 159,2 are then fed to themultipliers 110,1 and 110,2 respectively. Finally, the signals appearingat the links 160,1 and 160,2 are fed to the transmission units 112,1 and112,2 prior to transmission over the communication channel 161,1 and161,2. It will be appreciated that pass band modulation and demodulationmay be involved and block diagram descriptions in FIGS. 1 and 2represent the equivalent baseband schemes for such systems, whichoperate in a manner that is well known to those skilled in the art ofdigital transmission systems. The transmitter control unit 111 at thetransmitter uses the links 162,1 and 162,2 as control channels tocommunicate with the receiver control unit 207 at the receiver. Thechannel gain |h_(k)|² information, the noise level σ² at the receiverand also the multipath channel impulse responses are obtained at thereceiver by the receiver control unit 207 using the information receivedfrom the transmitter. The receiver control unit 207 feeds back some ofthis information to the transmitter control unit 111 at the transmitterusing the link 162,2. This information is used at the transmittercontrol unit 111 to control the channel encoder 102, the M-ary signalgenerator 104 and the power control units 107, 108 and also themultipliers 110,1 and 110,2. The control unit 111 sends the channelencoder rate to the channel encoder 102 via the link 163. The controlunit 111 sends the modulation level information b to the M-ary signalgenerator 104 via the link 164. The control unit 111 sends thetransmission energy level information to the power control units 107 and108 via the link 165. The transmitter control unit 111 sends themultiplier information to the multipliers 110,1 and 110,2 via the links166.

The basic operation of the HSDPA MIMO transmitter will now be described.The HSDPA MIMO system uses adaptive modulation and coding (AMC), fastpacket scheduling at the base station and fast retransmissions from thebase station which are known as the hybrid repeat-request (HARQ). Thereare different data rates b_(p) for p=1, . . . , P that can be achievedwhen combining various modulation and coding rates. The modulationscheme and coding rate are changed on a per user basis depending thequality and cell usage. The modulated symbol at the link 104 is fed tothe symbol spreading units 105 and 106 at intervals of T seconds whichis known as the symbol period. The spreading units 105 and 106 use thesame spreading sequence, per transmission channel k, which is otherwiseknown as the channelization code and produce the spread signals at thelinks 155 and 156. The spreading signal sequence has a length N which isknown as the processing gain or spreading factor. For the HSDPA system,the processing gain is N=16 and the frequency division duplex system hasa chip rate 3.84 Mbps hence the chip period is T_(c)=0.26 μs. The CDMAsystem has the transmission symbol period equal to T=N×T_(c). The symbolperiod for the HSDPA system is T=4.11667 μs. The spread signals at theoutput of the adders 109 are weighted at the weighting units 110,1 and110,2 using two different weighting coefficients, which are generated bythe transmitter control unit 311, before being transmitted over thetransmitters 112,1 and 112,2. Here, a description of the HSDPA MIMOsystem is provided for two transmitter and two receiver antennas.However in practice the number of transmit and receive antennas can beinteger numbers 1 or more. With the two transmit antennas, the number ofcodes K can be up to twice the processing gain N. The number of bits,b_(p), per symbol transmitted over each spreading sequence is determinedin accordance with the values identified by the Transport FormatCombination number. In the current standards the same bit rate isallocated to each parallel channel if all the codes are given to thesame user. The maximum total rate that can be achieved over the HSDPAMIMO system is therefore equal to

$R_{T} = \frac{{Kb}_{p}}{T}$

bits per second. For a given transmission, as the number of parallelchannels K and the transmission symbol period are fixed, the maximumdata rate is determined by the number of bits b_(p) per symbol. Thetransmitter control unit 111 and the receiver control unit 207 worktogether to determine the bit rate b_(p) per symbol.

The signals from the transmitters over the channels 161,1 and 161,2 arereceived at the receiver via two receiving antennas. Each transmitter,receiver antenna pair have a channel impulse response associated withthe transmission channel as those skilled in the art will appreciate.For two transmit and two receive antennas, there are a maximum total offour different channel impulse responses to be used in the systemconfiguration. At the receiver (FIG. 2) the signals that are receivedfrom the two transmitter antennas 112 over the links 161,1 and 161,2 arefed to two chip matched filter receivers 201,1 and 201,2. The chipmatched filtered signals are fed to the despreading units 202 and 203from the chip matched filters 201,1 and 201,2 via the links 251 and 252respectively. The despreading units 202 and 203 act in a manner that iswell known to those skilled in the art of spread spectrum systems. Thesignals at the output despreading units 202 and 203 are fed to an adder204 via the links 253 and 254. The receiver control unit 207 monitorsthe signal-to-noise ratio γ_(k) at the link 255 where the outputs 253and 254 of the despreading units 202 and 203 are combined by the adder204. The combined despreading units 202 and 203 have the effect ofisolating the signals on the separate sub-channels and at the M-ary softdecoder 205 the information corresponding to noise corrupted versions ofthose at 104 are obtained when considering multipath interference freetransmission. In schemes described in References [1, 2], the capacitycomprising the HSDPA MIMO system is improved by jointly using thetransmitter control unit 111 at the transmitter and the receiver controlunit 207 at the receiver to adjust the data rate b_(p) and also thetransmission energy

${E_{k}\left( b_{p} \right)} = \frac{E_{T}}{K}$

for k=1, . . . , K to deliver different signal-to-noise ratios γ_(k)over k=1, . . . , K parallel channels. As those skilled in the art willappreciate the minimum energy E(b_(p)) required to transmit the data ata rate b_(p) bits per symbol over a sub-channel whilst achieving asufficient signal to noise ratio γ*(b_(p))=Γ(2^(b) ^(p) −1) at theoutput of the despreading summation units 204 is given by

${E\left( b_{p} \right)} = {\frac{2{\Gamma\sigma}^{2}}{{h_{\min}}^{2}}\left( {2^{b_{p}} - 1} \right)}$

where |h_(min)|² is the channel gain Corresponding to the channel withthe minimum channel gain of the sub-channels. γ*(b_(p)) is the minimumsignal-to-noise ratio required to transmit data at a rate b_(p) and isknown as the desired SNR.

In the current HSDPA MIMO systems, each of the K parallel channels isused to transmit the data at an equal rate b_(p) if all the channels areassigned to a single user. As those in the art will appreciate, thecontrol unit 207 at the receiver monitors the SNR γ_(k) at the summedoutputs 204 of each pair of despreading units 202 and 203 using thehybrid ARQ scheme. The receiver control unit 207 communicates with thetransmitter control unit 111 to achieve the transmission data rate b_(p)which will satisfy the relationship

${\frac{2K\; \Gamma \; \sigma^{2}}{{h_{\min}}^{2}}\left( {2^{b_{p}} - 1} \right)} \leq E_{T} < {\frac{2K\; \Gamma \; \sigma^{2}}{{h_{\min}}^{2}}\left( {2^{b_{p + 1}} - 1} \right)}$

when allocated for a given total transmission energy E_(T)=TP_(T) whereP_(T) is the available total transmission power. The total number ofbits b_(T)=Kb_(p) is then calculated. The transmitter control unit 111informs the channel encoder units 102 and the M-ary modulation units 104to use the appropriate channel encoding and modulation levelsrespectively for a given transmission data rate b_(p) bits per symbolusing the links 163 and 164. The transmitter control unit 111 sends theenergy level

${E\left( b_{p} \right)} = {\frac{2{\Gamma\sigma}^{2}}{{h_{\min}}^{2}}\left( {2^{b_{p}} - 1} \right)}$

to the power control unit 107 and 108 to adjust the transmission signallevels at the links 157 and 158. The transmitter control unit 111communicates with the receiver control unit 207 to exchange theinformation related to the number of channels to be used during the nexttransmission and the information related to the transmission bit rateb_(p) and also the transmission energy

${E\left( b_{p} \right)} = \frac{E_{T}}{K}$

information. The transmitter control unit 111 also sends a pilot signalvia the two transmitter antennas 112,1 and 112,2. The receiver controlunit 207 estimates the channel impulse responses for each pair of thetransmit antenna 112,1 (and 112,2) and receiver chip matched filter201,1 (and 201,2) antenna using received pilot signal. Using the channelimpulse response estimates, the receiver control unit 207 formulates thechannel convolution matrix

$H = \begin{bmatrix}H_{1,1} & \; & H_{1,2} \\\; & \; & \; \\H_{2,1} & \; & H_{2,2}\end{bmatrix}$

and also the receiver matched filter coefficients Q=HS=[{right arrowover (q)}₁ . . . {right arrow over (q)}_(K)], and the extended matchedfilter receiver signature sequence matrix Q_(e)=[HS, H_(Prev)S,H_(Next)S] where for the SISO systems H_(Prev)=(J^(T))^(N)H andH_(Next)=J^(N)H and for the MIMO systems

$H_{Prev} = {\begin{bmatrix}{\left( J^{T} \right)^{N}H_{1,1}} & \; & {\left( J^{T} \right)^{N}H_{1,2}} \\\; & \; & \; \\{\left( J^{T} \right)^{N}H_{2,1}} & \; & {\left( J^{T} \right)^{N}H_{2,2}}\end{bmatrix}\mspace{14mu} {and}}$ $H_{Next} = {\begin{bmatrix}{J^{N}H_{1,1}} & \; & {J^{N}H_{1,2}} \\\; & \; & \; \\{J^{N}H_{2,1}} & \; & {J^{N}H_{2,2}}\end{bmatrix}.}$

For the allocated energies, the receiver control unit 207 nextformulates the receiver covariance matrix using C=Q_(e)A_(e) ²Q_(e)^(H)+2σ²I_(N) _(r) _((N+L−1)) where N_(r) is the number of receiverantennas. The receiver control unit 207 next calculates the despreadingfilter coefficients using the MMSE equalizer coefficients equation

${\overset{\rightarrow}{w}}_{k} = \frac{C^{- 1}{\overset{\rightarrow}{q}}_{k}}{q_{k}^{H}C^{- 1}{\overset{\rightarrow}{q}}_{k}}$

for k=1, . . . , K. The despreading filter coefficient vector is a2(N+L−1) dimensional column vector. The receiver control unit 207 nextformulates the 2(N+L−1)×K dimensional despreading filter matrix

$W = {\begin{bmatrix}W_{1} \\W_{2}\end{bmatrix} = {\begin{bmatrix}{{\overset{\rightarrow}{w}}_{1},} & {{\overset{\rightarrow}{w}}_{2},} & \ldots & {{\overset{\rightarrow}{w}}_{k},} & {\overset{\rightarrow}{w}}_{K}\end{bmatrix}.}}$

The receiver control unit 207 forms two (N+L−1)×K dimensionaldespreading sequence matrices W₁=└{right arrow over (w)}_(1,1), {rightarrow over (w)}_(1,2), . . . {right arrow over (w)}_(1,k), {right arrowover (w)}_(1,K)┘ and W₂=└{right arrow over (w)}_(2,1), {right arrow over(w)}_(2,2), . . . {right arrow over (w)}_(2,k), {right arrow over(w)}_(2,K)┘ and feeds the despreading filter coefficient {right arrowover (w)}_(1,k) for k=1, . . . , K to the despreading unit 202 and thedespreading filter coefficient {right arrow over (w)}_(2,k) for k=1, . .. , K to the despreading unit 203 via the links 258. The receivercontrol unit 207 sends the modulation level information to the M-arysoft decoder unit 205 via the link 259 and the channel decodinginformation to the channel decoder 206 via the link 260. After thereceiver control unit 207 loads the despreading units 202 and 203 andthe M-ary soft decoder unit 205 and also the channel decoder 206, thesignals received over channels 161,1 and 161,2 are despread by thedespreading units 202 and 203. The signals, appearing at the outputs 255of the adder units 204 which combine the signals appearing at the links253 and 254 which are taken from the despreading units 202 and 203, arefed to the M-ary soft decoder units 205. The M-ary soft decoder unit 205is linked to the channel decoder unit 206 via the link 256. The M-arysoft decoder unit 205 and the channel decoder unit 206 work together toproduce the decoded data at the link 257 in a manner that is well knownto those skilled in the art of digital transmission systems.

The principal elements of the transmitter and receiver structuresconsidered in the present work are shown in FIGS. 3 and 4 respectivelywhen using a system with a total K parallel channels. At the transmitterof the system one data source is considered where each data source 301may correspond to a single user and the data is fed in blocks to twomultiplexers 302 via the links 351. The operations performed on datafrom the source data are similar and for purpose of illustration will berestricted to the method of operation as applied to one multiplexer andone sub-channel receiver. The output of the multiplexer 302 at the topof FIG. 3 is fed to (K−m) parallel channels via the links 352,1 to 352,(K−m). The output from the multiplexer 302 at the bottom of FIG. 3 isfed to m channels via the links 352, (K+1−m) to 352, K. The operationsperformed on data over each channel are similar and for purposes ofillustration, consideration will be restricted to the method ofoperation as applied to the first channel. At the multiplexer 302, thebinary data is taken from the source in blocks in binary format ordigits. These binary digits are fed to a channel encoder 303. Theencoder 303 produces binary digits which are produced from the inputdata at 352 which are fed from the multiplexer 302. The resultantencoding increases the packet length. After the channel encoding thebinary digits appearing at the link 353 are fed to theserial-to-parallel converter 304 which produces b bits of data inparallel at the link 354. The data appearing at the link 354 are fedinto an M-ary modulation unit 305 of a well known type in the art. Themodulation unit 305 operates using a total M constellation points whichis determined by the transmitter control 311. The M-ary modulation unit305 takes in sequence of a total of b=log₂ M binary digits of data everysymbol period from the incoming data at 354. The modulation unitproduces one of M symbols at 355 for each b binary digit. When combiningthe channel encoding rate and the number of bits per symbol b, it ispossible to generate one of b_(p) bits per symbol for p=1, . . . , Pover each sub-channel. The signals appearing at the link 355 are theneach fed to the spreading units 306 and 307 to multiply each M-arymodulated symbol by the spreading sequences allocated to the spreadingunits 306 and 307. It will be appreciated that the spreading codesequence differs for each of the sub-channels employed by each channeland also differs from channel to channel. The signals appearing at theoutputs links 356 of the spreading units 306 and 307 (“the chips”, asthey are known in the art), are then fed to a power control unit 308which adjusts the energy for each symbol before transmission. The energylevel used by each sub-channel is determined by the transmitter controlunit 311. Initially the transmitter operation will be described for theSIC based receiver arrangement.

The transmitter control unit 311 communicates with the SIC receivercontrol unit 411 at the receiver over the uplink 365,2 and over thedownlink 365,1. The transmitter uses two discrete rates b_(p) andb_(p+1) bits per symbols over two groups of channels. The transmittercontrol unit 311 uses the link 361 to send the information related tothe transmission rate b_(p) and b_(p+1) bits per symbols and also thenumber of symbols per packet to be used for each sub-channel to eachchannel encoder 303. The transmitter control unit 311 uses the link 362to send the modulation level information b bits to the M-ary modulationunit 305. The transmitter control unit 311 uses the links 363 tocommunicate with the spreading units 306 and 307. The transmittercontrol unit 311 uses the link 364 to communicate with the power controlunits 308. There are a total of P symbols available for use to generateb_(p) bits for p=1, . . . , P. The transmitter control unit 311 uses thecontrol channels 365,1 and 365,2 to obtain the information related tothe multipath channel impulse responses, the channel path gain, and alsothe noise variance σ² from the receiver control unit 411 in a mannerthat is well known to those experienced in the field of digital datatransmission. The transmitter control unit 311 then calculates thespreading signals to be used if the objective is to use the optimumtransmission signature sequences. Otherwise if a given set of signaturesequences to be used the transmitter control units 311 allocates thetransmission spreading sequences to the spreading units 306 and 307. Thetransmitter control unit 311 then uses the signature sequence setS=└{right arrow over (s)}₁ . . . {right arrow over (s)}_(K*)┘ and themeasured channel impulse response matrix

$H = \begin{bmatrix}H_{1,1} & \; & H_{1,2} \\\; & \; & \; \\H_{2,1} & \; & H_{2,2}\end{bmatrix}$

which is obtained from the control channel information exchange betweenthe transmitter control unit 311 and the receiver control unit 411 viathe links 3651, and 365,2 in a manner that is well known to thoseexperienced in the art of data transmission. The transmitter controlunit 311 next formulates the channel Gramian matrix H^(H)H andcalculates the optimum transmission signature sequences, if required,which are given in terms of the Gram matrix H^(H)H=V_(H)D_(H)V_(H) ^(H)where D_(H) is the diagonal matrix of Eigen values and V_(H) is thematrix of Eigen vectors. The optimum spreading sequence matrix isobtained by S=└{right arrow over (s)}₁ . . . {right arrow over(s)}_(K)┘=V_(H). The transmitter control unit 311 then calculates thechannel gains of the transmission system to be |h_(k)|²=[Q^(H)Q]_(k,k)for k−1, . . . , K where the receiver matched filter coefficients aregiven by Q=HS=[{right arrow over (q)}₁ . . . {right arrow over(q)}_(K)]. The transmitter control unit 311 next calculates the optimumnumber of channels K* to be used by employing the optimum signaturesequences and the channel gains and the water filling method describedearlier. The transmitter control unit 311 then reorders the signaturesequence matrix S=└{right arrow over (s)}₁ . . . {right arrow over(s)}_(K)┘ such that the resultant channel gains |h_(k)|²=[Q^(H)Q]_(k,k)of the transmission system appear in a descending order for k=1, . . . ,K. The transmitter control unit 311 then truncates the number of columnsof the spreading sequence to be same as the optimum number of channelsK*. The transmitter control unit 311 then reorders the signaturesequence matrix S=└{right arrow over (s)}₁ . . . {right arrow over(s)}_(K)┘ such that the resultant channel gains appear in an ascendingorder for k=1, . . . , K. The resultant 2N×K* signature sequence matrixS=└{right arrow over (s)}₁ . . . {right arrow over (s)}_(K*)┘ is thenre-configured by the transmitter control unit 311 such that

$S = {\left\lbrack {{\overset{\rightarrow}{s}}_{1}\mspace{14mu} \ldots \mspace{14mu} {\overset{\rightarrow}{s}}_{K^{*}}} \right\rbrack = {\begin{bmatrix}S_{1} \\S_{2}\end{bmatrix}.}}$

The transmitter control unit 311 then uses the signature sequences givenby the N×K* dimensional matrices S₁=└{right arrow over (s)}_(1,1) . . .{right arrow over (s)}_(1,K*)┘ and S₂=└{right arrow over (s)}_(2,1) . .. {right arrow over (s)}_(2,K*)┘ to load the first K* spreading units306 and 307 respectively via the link 363. The remaining K−K* spreadingunits are then loaded with zero coefficients by the transmitter controlunit 311.

The transmitter control unit 311 then formulates the receiver matchedfilter coefficients Q=HS=[{right arrow over (q)}₁ . . . {right arrowover (q)}_(K)], and the extended matched filter receiver signaturesequence matrix Q_(e)=[HS, H_(Prev)S, H_(Next)S] where for the SISOsystems H_(Prev)=(J^(T))^(N)H and H_(Next)=J^(N)H and for the MIMOsystems

$H_{Prev} = {\begin{bmatrix}{\left( J^{T} \right)^{N}H_{1,1}} & \; & {\left( J^{T} \right)^{N}H_{1,2}} \\\; & \; & \; \\{\left( J^{T} \right)^{N}H_{2,1}} & \; & {\left( J^{T} \right)^{N}H_{2,2}}\end{bmatrix}\mspace{14mu} {and}}$ $H_{Next} = {\begin{bmatrix}{J^{N}H_{1,1}} & \; & {J^{N}H_{1,2}} \\\; & \; & \; \\{J^{N}H_{2,1}} & \; & {J^{N}H_{2,2}}\end{bmatrix}.}$

The transmitter control unit 311 then uses the available totaltransmission energy E_(T) to calculate the covariance matrix

$C = {{\frac{E_{T}}{K^{*}}Q_{e}Q_{e}^{H}} + {2\sigma^{2}I_{{Nr}{({N + L - 1})}}}}$

and the system value

${\lambda_{k} = {{\frac{E_{T}}{K^{*}}{\overset{\rightarrow}{q}}_{k}^{H}C^{- 1}{\overset{\rightarrow}{q}}_{k}\mspace{14mu} {for}\mspace{14mu} k} = 1}},\ldots \mspace{20mu},K^{*},$

the total system value λ_(T,max)=Σ_(k=1) ^(K*)λ_(k) and also the meansystem value

$\lambda_{mean} = {\frac{\lambda_{T,\max}}{K^{*}}.}$

The transmitter control unit 311 next calculates the transmission bitrate b_(p) such that if the rate b_(p) is allocated to all the channelsthe inequality λ*(b_(p))≦λ_(mean)=λ*(b_(p+1)) is satisfied. Thetransmission control unit 311 then finds the highest integer m valuewhich satisfies the inequality (K*−m)λ*(b_(p))+mλ*(b_(p+1))<λ_(T,max)when a total of m channels are used to transmit data at the higher rateb_(p+1). The transmitter control unit 311 next puts the first (K*−m)spreading units 306 and 307 in the upper group of FIG. 3 and theremaining m spreading units in the lower group of FIG. 3. Thetransmitter control unit 311 then uses the SIC iterative energycalculation method by initially forming the covariance matrix C₀⁻¹=(2σ²)⁻¹I_(N) _(r) _((N+L−1)). For the calculations of energies E_(k)for k=1, . . . , K, the transmitter control unit 311 first calculatesthe distance vectors {right arrow over (d)}=C_(k−1) ⁻¹={right arrow over(q)}_(k), {right arrow over (d)}₁=C_(k−1) ⁻¹={right arrow over(q)}_(k,1) and {right arrow over (d)}₂=C_(k−1) ⁻¹={right arrow over(q)}_(k,2) where {right arrow over (q)}_(k,1)=H_(Prev){right arrow over(s)}_(k) and {right arrow over (q)}_(k,2)=H_(Next){right arrow over(s)}_(k). The transmitter control unit 311 then calculates the weightingfactors ξ={right arrow over (d)}^(H){right arrow over (q)}_(k),ξ₁={right arrow over (d)}₁ ^(H){right arrow over (q)}_(k,1), ξ₂={rightarrow over (d)}₂ ^(H){right arrow over (q)}_(k,2), ξ₃={right arrow over(d)}^(H){right arrow over (q)}_(k,1) and ξ₄={right arrow over(d)}^(H){right arrow over (q)}_(k,2). For the first (K*−m) channels, thetransmitter control unit 311 uses the data rate y_(k)=b_(p) bits persymbol. For the remaining m channels, the transmitter control unit 311uses y_(k)=b_(p+1) bits per symbol for k=(K*+1−m), . . . , K* tocalculate the energies iteratively using

$E_{k,i} = \frac{\Gamma \left( {2^{y_{k}} - 1} \right)}{\xi - {E_{k,{({i - 1})}}\left( {\frac{{\xi_{3}}^{2}}{1 + {E_{k,{({i - 1})}}\xi_{1}}} + \frac{{\xi_{4}}^{2}}{1 + {E_{k,{({i - 1})}}\xi_{2}}}} \right)}}$

and also the energy E_(k,(i−1)) at channel k itself. The iterationnumber i has the maximum number of iterations equal to I_(max). Once thetransmitter control unit 311 calculates the transmission energy E_(k)for k=1, it next calculates the inverse covariance matrix C_(k) ⁻¹ byfurther defining the weighting factors

${\zeta = \frac{E_{k}}{1 + {\Gamma \left( {2^{b_{P}} - 1} \right)}}},{\zeta_{1} = {{\frac{E_{k}}{1 + {E_{k}\xi_{1}}}\mspace{14mu} {and}\mspace{14mu} \zeta_{2}} = \frac{E_{k}}{1 + {E_{k}\xi_{2}}}}}$

and using the iterative relationship

$C_{k}^{- 1} = {C_{k - 1}^{- 1} - {\zeta \; \overset{\rightarrow}{d}{\overset{\rightarrow}{d}}^{H}} - {\left( {\zeta_{1} + {\zeta \; \zeta_{1}^{2}{\xi_{3}}^{2}}} \right){\overset{\rightarrow}{d}}_{1}{\overset{\rightarrow}{d}}_{1}^{H}} - {\left( {\zeta_{2} + {\zeta \; \zeta_{2}^{2}{\xi_{4}}^{2}}} \right){\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{2}^{H}} + {\zeta \; {\zeta_{1}\left( {{\xi_{3}\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{1}^{H}} + {\xi_{3}^{*}\left( {\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{1}^{H}} \right)}^{H}} \right)}} + {\zeta \; {\zeta_{2}\left( {{\xi_{4}\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{2}^{H}} + {\xi_{4}^{*}\left( {\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{2}^{H}} \right)}^{H}} \right)}} - {\zeta \; \zeta_{1}{\zeta_{2}\left( {{\xi_{3}\xi_{4}^{*}{\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{1}^{H}} + {\left( {\xi_{3}\xi_{4}^{*}} \right)^{*}\left( {{\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{1}^{H}} \right)^{H}}} \right)}}}$

by increasing the channel number from k=1 to k=K* at increments of 1.The transmitter control 311 then loads the transmission energies E_(k)for k=1, . . . , K* to the transmission power control units 308 via thelinks 364.

After the transmitter control unit 311 completes loading the channelencoders 303, the M-ary modulation units 305, the spreading units 306and 307 and also the power control units 308 with the appropriatecontrol parameters, the binary bits are processed by units 302, 303,304, 305 306, 307 and 308, the signals of the m high data rate, and the(K*−m) low data rate channels appearing at 357 and 358 are then addedtogether in the adders 309 prior to feeding them to the transmitterantennas 310 before transmitting them over the channel 360. It will beappreciated that pass-band modulation and demodulation may be involvedand FIGS. 3 and 4 represent the equivalent baseband schemes in thecurrent patent.

The transmitter control unit 311, then sends the spreading sequencematrices S₁=└{right arrow over (s)}_(1,1) . . . {right arrow over(s)}_(1,K*)┘ and S₂=└{right arrow over (s)}_(2,1) . . . {right arrowover (s)}_(2,K*)┘, and also the number of optimum channels K* and theallocated energies E_(k) for k=1, . . . , K* to the receiver controlunit 411 via the control channels 365,1 and 365,2.

FIG. 4 shows an illustration of the receiver of the SIC MIMO system,operable with the transmitter described above. At the link 360, thesignals are received via the two receiver antennas from the channel andare fed to the chip matched filters 401 which operate in a manner thatis well known to those experienced in the art of digital datatransmission. The signals appearing at the links 451 and 452, which arethe outputs of the chip matched filters 401, are fed to the despreadingunits 402 and 403 respectively. The chip matched filtered signals at thelinks 451 and 452 are also fed to the spread symbol removers 409 and410. The first set of despreading units 402 and 403 correspond to thesub-channel K* and operate as an inverse of the spread signal generatorunits 306 and 307 at the transmitter in a manner that is well known tothose skilled in the art of spread spectrum communication. The receivercontrol unit 411 operates in cooperation with the transmitter controlunit 311 to estimate the channel impulse response for each of thetransmitter receiver antenna pairs. The receiver control unit 411 feedsback the channel impulse response information to the transmitter controlunit 311 via the control channels 365,1 and 365,2. The transmittercontrol unit 311 either uses a predefined set of spreading signaturesequences or calculates the optimum spreading signature sequence for theestimated channel impulse responses as described in the transmitteroperation part. If the optimum signature sequences are used, thetransmitter control unit 311 transmits the spreading sequence matrixS=└{right arrow over (s)}₁ . . . {right arrow over (s)}_(K*)┘information and the allocated energies E_(k) for k=1, . . . , K* and theoptimum number of channel K* information and also the data rates b_(p),b_(p+1) to be used in the low and high data rate channels and also thenumber m in the high data rate channels to the receiver control unit 411via the links 365,1 and 365,2 in a manner that is well known to thoseexperienced in the art of data communication systems. The receivercontrol unit 411 formulates the channel impulse response convolutionmatrix

$H = \begin{bmatrix}H_{1,1} & H_{1,2} \\H_{2,1} & H_{2,2}\end{bmatrix}$

using the channel impulse responses estimated from the received pilotsignals. The receiver control unit 411 also formulates the matrices

$H_{Prev} = {\begin{bmatrix}{\left( J^{T} \right)^{N}H_{1,1}} & {\left( J^{T} \right)^{N}H_{1,2}} \\{\left( J^{T} \right)^{N}H_{2,1}} & {\left( J^{T} \right)^{N}H_{2,2}}\end{bmatrix}\mspace{14mu} {and}}$ $H_{Next} = \begin{bmatrix}{J^{N}H_{1,1}} & {J^{N}H_{1,2}} \\{J^{N}H_{2,1}} & {J^{N}H_{2,2}}\end{bmatrix}$

for the MIMO systems and corresponding matrices for the SISO systems.The receiver control unit 411 next formulates the receiver matchedfilter coefficients Q=HS=[{right arrow over (q)}₁ . . . {right arrowover (q)}_(K)] and also the vectors {right arrow over(q)}_(k,1)=H_(Prev){right arrow over (s)}_(k), {right arrow over(q)}_(k,2)=H_(Next){right arrow over (s)}_(k) and then sets the initialcovariance matrix inverse to be

C₀⁻¹ = (2 σ²)⁻¹I_(N_(r)(N + L − 1)).

For k=1, . . . K*, the receiver control unit 411 then iterativelycalculates the distance vectors {right arrow over (d)}=C_(k−1) ⁻¹{rightarrow over (q)}_(k), {right arrow over (d)}₁=C_(k−1) ⁻¹{right arrow over(q)}_(k,1) and {right arrow over (d)}₂=C_(k−1) ⁻¹{right arrow over(q)}_(k,2) and also the weighting factors ξ={right arrow over(d)}^(H){right arrow over (q)}_(k), ξ₁={right arrow over (d)}₁^(H){right arrow over (q)}_(k,1), ξ₂={right arrow over (d)}₂ ^(H){rightarrow over (q)}_(k,2), ξ₃={right arrow over (d)}^(H){right arrow over(q)}_(k,1) and

${\xi_{4} = {{{\overset{\rightarrow}{d}}^{H}{\overset{\rightarrow}{q}}_{k,2}\mspace{14mu} {and}\mspace{14mu} \zeta} = \frac{E_{k}}{1 + {\Gamma \left( {2^{b_{p}} - 1} \right)}}}},{\zeta_{1} = {{\frac{E_{k}}{1 + {E_{k}\xi_{1}}}\mspace{14mu} {and}\mspace{14mu} \zeta_{2}} = \frac{E_{k}}{1 + {E_{k}\xi_{2}}}}}$

and also the convolution matrix inverse using

$C_{k}^{- 1} = {C_{k - 1}^{- 1} - {\zeta \; \overset{\rightarrow}{d}{\overset{\rightarrow}{d}}^{H}} - {\left( {\zeta_{1} + {\zeta \; \zeta_{1}^{2}{\xi_{3}}^{2}}} \right){\overset{\rightarrow}{d}}_{1}{\overset{\rightarrow}{d}}_{1}^{H}} - {\left( {\zeta_{2} + {\zeta \; \zeta_{2}^{2}{\xi_{4}}^{2}}} \right){\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{2}^{H}} + {\zeta \; {\zeta_{1}\left( {{\xi_{3}\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{1}^{H}} + {\xi_{3}^{*}\left( {\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{1}^{H}} \right)}^{H}} \right)}} + {\zeta \; {\zeta_{2}\left( {{\xi_{4}\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{2}^{H}} + {\xi_{4}^{*}\left( {\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{2}^{H}} \right)}^{H}} \right)}} - {\zeta \; \zeta_{1}{{\zeta_{2}\left( {{\xi_{3}\xi_{4}^{*}{\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{1}^{H}} + {\left( {\xi_{3}\xi_{4}^{*}} \right)^{*}\left( {{\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{1}^{H}} \right)^{H}}} \right)}.}}}$

The receiver control unit 411 next calculates the despreading filtercoefficients using the MMSE equalizer coefficients equation

${\overset{\rightarrow}{w}}_{k} = \frac{C^{- 1}{\overset{\rightarrow}{q}}_{k}}{{\overset{\rightarrow}{q}}_{k}^{H}C^{- 1}{\overset{\rightarrow}{q}}_{k}}$

for k=1, . . . , K*. The despreading filter coefficient vector is a2(N+L−1) dimensional column vector. The receiver control unit 411 nextformulates the 2(N+L−1)×K* dimensional despreading filter matrix

$W = {\begin{bmatrix}W_{1} \\W_{2}\end{bmatrix} = \begin{bmatrix}{{\overset{\rightarrow}{w}}_{1},} & {\overset{\rightarrow}{w}}_{2} & \ldots & {{\overset{\rightarrow}{w}}_{k},} & {\overset{\rightarrow}{w}}_{K^{*}}\end{bmatrix}}$

The receiver control unit 411 forms two (N+L−1)×K* dimensionaldespreading sequence matrices W₁=└{right arrow over (w)}_(1,1), {rightarrow over (w)}_(1,2), . . . {right arrow over (w)}_(1,k), {right arrowover (w)}_(1,K*)┘ and W₂=└{right arrow over (w)}_(2,1), {right arrowover (w)}_(2,2), . . . {right arrow over (w)}_(2,k), {right arrow over(w)}_(2,K*)┘ and feeds the despreading filter coefficient {right arrowover (w)}_(1,k) for k=K*, . . . , 1 to the despreading units 402 and thedespreading filter coefficient {right arrow over (w)}_(2,k) for k=K*, .. . , 1 to the despreading unit 403 via the links 452 starting from thedespreading units appearing at the top of FIG. 4.

The despreading units 402 and 403 act in a manner that is well known tothose skilled in the art of spread spectrum systems. The signals at theoutput of the despreading units 402 and 403 are fed to an adder 404 vialinks 459,1 and 459,2 respectively. The combined despreading units 402and 403 have the effect of isolating the signals on the separatechannels. The receiver control unit 411 sends the modulation levelinformation to the M-ary soft decoder unit 405 via the link 466 and thechannel decoding information to the channel decoder unit 406 via thelink 467. After the receiver control unit 411 loads the despreadingunits 402 and 403 and the M-ary soft decoder unit 405 and also thechannel decoder 406, the signals received over channels 360 are despreadby the despreading units 402 and 403. The signals, appearing at theoutput 460 of the adder 404 which combines the signals appearing at thelinks 459,1 and 459,2 originating from the despreading units 402 and403, are fed to the M-ary soft decoder units 405 via the link 461. TheM-ary soft decoder unit 405 is linked to the channel decoder unit 406via the link 461. The M-ary soft decoder unit 405 and the channeldecoder unit 406 work together to produce the decoded data at the link457 for the sub-channel K* in a manner that is well known to thoseskilled in the art of digital communication.

The detected data appearing at 462 are fed to the spread symbolgenerator units 407 and 408. The control unit 411 loads the spreadsymbol generator units 407 and 408 with the appropriate channel encoderinformation, modulation level information and also the channel impulseresponse matrices H, H_(Prev) and H_(Next) via the link 468. The spreadsymbol generator units 407 and 408 use the detected informationappearing at the link 462 to produce versions of the signals appearingat the outputs 357, K* and 358, K* after having gone through thetransmission channel 360 as they appear at the outputs 451 and 452 ofthe receiver chip matched filters 401. The signals appearing at theoutputs 463 and 464 of the spreading symbol generator units 407 and 408are fed to the spread symbol remover units 409 and 410. The spreadsymbol removal units 409 and 410 operate in a manner that is well knownto those experienced in the field of successive interferencecancellation systems. The signals at the links 453 and 456 which are theoutputs of the symbol remover units 409 and 410 are then fed to the nextset of despreading units 402 and 403. The detection process is thenrepeated for the next set of received data sequences corresponding tothe channels number k going from k=K*−1 to k=1.

The operations performed on the received signals over each sub-channelare similar and for the purpose off illustration, consideration isrestricted to the method operation as applied to the sub-channel K*.

Applications

The techniques and embodiments described above are suitable for thetransmission of data in a mobile network, e.g. in a 3G CDMA network. Itshould be noted, however, that their application is not limited to CDMA,and could, for example, be used in spreading and despreading units ormodulators for non-CDMA applications.

Technical Construction

The “units” in the transmitter, such as the channel encoder, the M-arymodulation unit, the spreading unit, the power control unit, theresource allocation unit and the adder, may be provided as separatepieces of equipment or discrete components or circuits that arecommunicatively connected in order to enable the signal processingmethods described herein to be performed. Alternatively, two or more ofthe “units” may be integrated into a single piece of equipment, orprovided as a single component or circuit. In further alternatives, oneor more of the “units” may be provided by a computer processorprogrammed to provide equivalent functionality.

Similarly, the “units” in the receiver, such as the de-spreading unit,the buffer unit, the decoder units, and the control unit may be providedas separate pieces of equipment or discrete components or circuits thatare communicatively connected in order to enable the signal processingmethods to be performed. Alternatively, two or more of the “units” maybe integrated in a single piece of equipment, or provided as a singlecomponent or circuit. In further alternatives, one or more of the“units” may be provided by a computer processor programmed to provideequivalent functionality.

In some instances, the sequence of the units in the transmitter or thereceiver may be changed, as those skilled in the art will appreciate.

REFERENCES

-   [1] 3GPP TS 25.214: Physical Layer Procedure (FDD), V10.1.0 ed.,    3GPP, December 2010.-   [2] C. Mehlfuhrer, S. Caban, and M. Rupp, “Measurement-based    performance evaluation of MIMO HSDPA,” IEEE Transactions on    Vehicular Technology, vol. 59, no. 9, pp. 4354-4367, 2010-   [3] US 2011/0019629, “Selecting a Transmission Technology”, 27 Jan.    2011.-   [4] US 2010/0296446, “Dynamic switching between mimo and dc hsdp”,    25 Nov. 2010.-   [5] US 2010/0238886, “Single channelization code harq feedback for    dc-hsdpa+mimo”, 23 Sep. 2010.-   [6] US 2009/0161690, “Method and system for channel estimation in a    single channel (sc) multiple-input multiple-output (mimo) system    comprising two-transmit (2-tx) and multiple-receive (m-rx) antennas    for wcdma/hsdpa)”, 25 Jun. 2009.-   [7] US 2009/0135893, “Method and system for weight determination in    a spatial multiplexing mimo system for wcdma/hsdpa”, 28 May 2009.-   [8] US 2006/0072514, “Method and system for single weight (sw)    antenna system for spatial multiplexing (sm) mimo system for    wcdma/hsdpa”, 6 Apr. 2006.-   [9] US 2006/0072607, “Method and system for channel estimation in a    single channel (sc) multiple-input multiple-output (mimo) system    comprising two-transmit (2-tx) and multiple-receive (m-rx) antennas    for wcdma/hsdpa”, 6 Apr. 2006.-   [10] US 2006/0072629, “Method and system for implementing a single    weight (sw) single channel (sc) mimo system with no insertion loss”,    6 Apr. 2006.-   [11] US 2010/0254315, “Method for indicating modulation mode in high    speed downlink packet accessing”, 7 Oct. 2010.-   [12] US 2010/0234058, “Channel quality prediction in hsdpa systems”,    16 Sep. 2010.-   [13] US 2010/0208635, “Method and system for transport block size    signaling based on modulation type for hsdpa”, 19 Aug. 2010.-   [14] US 2010/0322224, “Server, terminal and method for end to end    channel capacity estimation in high speed downlink packet access    network”, 23 Dec. 2010.-   [15] US 2010/0311433, “Allocation and priority handling of uplink    and downlink resources”, 9 Dec. 2010.-   [16] US 2010/0298018, “Addressing available resources for hsdpa    accesses”, 25 Nov. 2010.-   [17] US 2008/0299985, “Downlink traffic channel resource allocation    method and data transmission method for multi-carrier hsdpa”, 4 Dec.    2008.-   [18] US 2007/0091853, “Power control for high speed packet data    transmission”, 26 Apr. 2007.-   [19] US 2007/0072612, “Hsdpa wireless communication system”, 29 Mar.    2007.-   [20] US 2006/0252446, “Method and apparatus for setting a power    limit for high speed downlink packet access services”, 9 Nov. 2006.-   [21] US 2006/0246939, “Transmission power control for hsdpa    connections”, 2 Nov. 2006.-   [22] WO 2010/106330, “Bit Loading method and Apparatus for Multicode    Parallell Communication Channel”, 23 Sep. 2010.-   [23] Bessem Sayadi, Stefan Atanman and Inbar Fijalkow, “Joint    Downlink Power Cotrol and Multicode Receivers for Downlink    Transmission in High Speed UMTS”, EUROSIP Journal on Wireless    Networking, Vol. 2006, pp 1-10 May 2006.-   [24] G. Forney Jr and G. Ungerboeck, “Modulation and coding for    linear Gaussian channels,” IEEE Transactions on Information Theory,    vol. 44, no. 6, pp. 2384-2415, 1998.-   [25] Mustafa K. Gurcan, Hadhrami Ab Ghani, Jihai Zhou and Anusorn    Chungtragarn, “Bit Energy Consumption Minimization for Multi-path    Routing in Ad-hoc Networks”, The Computer Journal, 2011, Vol: 6,    Pages: 944-959.-   [26] Ghani H A, Gurcan M K, He Z, Cross-layer Optimization with    Two-group Loading for Ad-hoc Networks, 26th International Symposium    on Computer and Information Sciences, 2011.-   [27] Gurcan M, Ma I, Ghani H A, et al, Complexity Reduction for    Multi-hop Network End-to-End Delay Minimization, 26th International    Symposium on Computer and Information Sciences, 2011.-   [28] J. Zhou, M. K. Gurcan, and A. Chungtragarn, “Energy-aware    Routing with Two-group Allocation in Ad Hoc Networks”, proceedings    of International Conference ISCIS 2010, September 2010.-   [29] Z. He, M. K. Gurcan, Hadhrami Ab Ghani, “Time-Efficient    Resource Allocation Algorithm over HSDPA in Femtocell Networks”,    proceedings of international conference PIMRC 2010, Femtocell    workshop September 2010.-   [30] M. K. Gurcan and Hadhrami Ab. Ghani, “Small-sized Packet Error    Rate Reduction Using Coded Parity Packet Approach”, proceedings of    IEEE international Conference PIMRC 2010 September 2010.-   [31] Hadhrami Ab. Ghani, M. K. Gurcan, Zhenfeng He, “Two-Group    Resource Allocation With Channel Ordering And Interference    Cancellation”, proceedings of IEEE international conference WCNC    2010 April 2010.-   [32] Z. He and M. K. Gurcan “Optimized Resource Allocation of HSDPA    Using Two Group Allocation in Frequency Selective Channel”,    proceedings of IEEE International conference on Wireless    communication and Signal Processing conference WSCSP 2009.-   [33] Jihai Zhou and M. K. Gurcan, “An Improved Multicode CDMA    Transmission Method for Ad Hoc Networks”, proceedings of IEEE    international conference WCNC 2009.-   [34] Z. He and M. K. Gurcan, “The Rate Adaptive Throughput    Maximization in PAM-Modulated Overloaded System”, proceedings of    IEEE international conference WCNC 2009.-   [35] Hadhrami Ab. Ghani and M. K. Gurcan, “Rate Multiplication and    Two-group Resource Allocation in Multi-code CDMA Networks”,    proceedings of IEEE international Conference PIMRC 2009.-   [36] Z. He and M. K. Gurcan, “Optimizing Radio Resource Allocation    in HSDPA Using 2 Group Allocation”, proceedings of IEEE    international conference IWCNC 2009, Germany 2009.

1. A method of transmitting data over a radio data transmission systemhaving a plurality of K parallel single-input single-output ormultiple-input multiple-output channels, the method comprisingtransmitting data at a rate b_(p) bits per symbol over a first group of(K−m) channels, and at a rate b_(p+1) bits per symbol over a secondgroup of m channels, by spreading the data using a number of signaturesequences S; wherein the total number of signature sequences is greaterthan one, and is equal to the multiplication of the number of receivingantennas and the processing gain N used to spread the system signals;wherein the spreading signature sequences S are determined using theGramian matrices Q=H^(H)H of the channel impulse responses of thefrequency selective multipath radio channels, where the channel impulseresponse matrix H is obtained by forming the matrix $H = \begin{bmatrix}H_{1,1} & H_{1,2} \\H_{2,1} & H_{2,2}\end{bmatrix}$ using the specific channel impulse response matrixH_(i,j) which is defined as the multipath convolution matrix for a pairof transmitting antenna i and receiving antenna j, where i and j areinteger numbers one or more, and where the signature sequences S areobtained by decomposing the Gramian matrix Q into its Eigen vectors V asQ=VDV^(H), where D is the matrix of Eigen values, and then by settingS=V; wherein the optimum number of transmission channels is identifiedby using the water filling method where the signature sequence matrix Sis ordered such that the channel gains |h_(k)|², which are diagonalelements of D, appear in a descending order and the matched filterchannel-SNIR g_(k) for channel k is calculated using$g_{k} = \frac{{h_{k}}^{2}}{2\; \sigma^{2}}$ for k=1, . . . , Kwhere 2σ² is the noise per channel for the system with$\sigma^{2} = \frac{N_{0}}{2}$ for the two sided noise power spectraldensity of $\frac{N_{0}}{2};$ and wherein the optimum number, K*, of thesignature sequences to be used is identified by initially setting K* tobe K*=K and by calculating the water filling energies$E_{k} = {{\frac{1}{K^{*}}\left\lbrack {E_{T} + {\frac{1}{\Gamma}{\sum\limits_{k = 1}^{K^{*}}\; \frac{1}{g_{k}}}}} \right\rbrack} = \frac{1}{\Gamma \; g_{k}}}$for k=1, . . . , K* and then by testing the energy E_(K*), for the lastchannel K*, to check if the energy is negative and for the negativeenergy case the optimum number K* is set to be (K*−1) and the energycalculation process is repeated until all energies are positive and forthe resultant K* channels the signature sequences S=[{right arrow over(s)}₁ . . . {right arrow over (s)}_(K*)] are re-ordered such that thecorresponding channel gains |h_(k)|² appear in an ascending order andthe despreading sequence matrix is reorganized such that$S = {\left\lbrack {{\overset{\rightarrow}{s}}_{1}\mspace{14mu} \ldots \mspace{14mu} {\overset{\rightarrow}{s}}_{K^{*}}} \right\rbrack = \begin{bmatrix}S_{1} \\S_{2}\end{bmatrix}}$ where the signature sequences given by the N×K*dimensional matrices S₁=└{right arrow over (s)}_(1,1) . . . {right arrowover (s)}_(1,K*)┘ are used to load the first K* spreading units attachedto a first transmitting antenna and S₂=└{right arrow over (S)}_(2,1) . .. {right arrow over (s)}_(2,K*)┘ are used to load the second K*spreading units attached to a second transmitting antenna.
 2. A methodas claimed in claim 1, further comprising determining the optimum datarate b_(p) used to transmit data in the first group of (K−m) channels,by: calculating the system values λ_(k)=E_(k){right arrow over (q)}_(k)^(H)C⁻¹{right arrow over (q)}_(k), one or more transmitters having totalavailable energy E_(T), which is considered to be equally distributedamong K* parallel channels, to calculate the total system$\lambda_{T,\max} = {\frac{E_{T}}{K^{*}}{\sum\limits_{k = 1}^{K^{*}}\; {q_{k}^{\rightarrow H}C^{- 1}{\overset{\rightarrow}{q}}_{k}}}}$and the mean system value as${\lambda_{mean} = \frac{\lambda_{T,\max}}{K^{*}}};$ obtaining theoptimum transmission rate b_(p) by satisfying the inequalityλ*(b_(p))≦λ_(mean)<λ*(b_(p+1)) where the target system value for thefirst (K*−m) channels is${\lambda^{*}\left( b_{p} \right)} = \frac{\Gamma \left( {2^{b_{p}} - 1} \right)}{1 + {\Gamma \left( {2^{b_{p}} - 1} \right)}}$and that for the remaining m channels is${{\lambda^{*}\left( b_{p + 1} \right)} = \frac{\Gamma \left( {2^{b_{p + 1}} - 1} \right)}{1 + {\Gamma \left( {2^{b_{p + 1}} - 1} \right)}}},$in which the term Γ is the gap value, the covariance matrix is given by${C = {{\frac{E_{T}}{K^{*}}Q_{e}Q_{e}^{H}} + {2\sigma^{2}I_{{Nr}{({N + L - 1})}}}}},$the receiver matched filter coefficients are given by Q=HS=[{right arrowover (q)}₁ . . . {right arrow over (q)}_(K)], and the extended matchedfilter receiver signature sequence matrix is given by Q=[HS, H_(Prev)S,H_(Next)S], and wherein, for single-input single-output systems,H_(Prev)=(J^(T))^(N)H and H_(Next)=J^(N)H, and for multiple-inputmultiple-output systems, ${H_{Prev} = {\begin{bmatrix}{\left( J^{T} \right)^{N}H_{1,1}} & \; & {\left( J^{T} \right)^{N}H_{1,2}} \\{\left( J^{T} \right)^{N}H_{2,1}} & \; & {\left( J^{T} \right)^{N}H_{2,2}}\end{bmatrix}\mspace{14mu} {and}}}\mspace{14mu}$${H_{Next} = \begin{bmatrix}{J^{N}H_{1,1}} & \; & {J^{N}H_{1,2}} \\{J^{N}H_{2,1}} & \; & {J^{N}H_{2,2}}\end{bmatrix}},$ for which J is an ((N+L−1)×(N+L−1))-dimensional matrixformed by $J = \begin{bmatrix}0_{1 \times {({N + L - 2})}} & 0 \\I_{({N + L - 2})} & 0_{{({N + L - 2})} \times 1}\end{bmatrix}$ where the term N is the spreading sequence length and Lis the channel impulse response length; the method further comprisingdetermining the number of channels m by finding the highest integervalue satisfying the inequality (K*−m)λ*(b_(p))+mλ*(b_(p+1))<λ_(T,max),for which the total transmission rate for K* parallel channels isR_(T)=(K*−m)b_(p)+mb_(p+1) bit per symbol.
 3. A method as claimed inclaim 2, further comprising determining the energies to be allocated tothe first and second groups of channels in order to maximize the totaltransmission rate R_(T)=(K*−m)b_(p)+mb_(p+1), by iteratively solving theenergy equations:${E_{k,{i + 1}}\left( b_{p} \right)} = \left\lbrack \frac{\lambda^{*}\left( b_{p} \right)}{{Q^{H}\left( {{Q_{e}A_{e,i}^{2}Q_{ei}^{H}} + {2\sigma^{2}I_{{Nr}{({N + L - 1})}}}} \right)}^{- 1}Q} \right\rbrack_{k,k}$for  k = 1, …  , (K − m)  and${E_{k,{i + 1}}\left( b_{p + 1} \right)} = \left\lbrack \frac{\lambda^{*}\left( b_{p + 1} \right)}{{Q^{H}\left( {{Q_{e}A_{e,i}^{2}Q_{e}^{H}} + {2\sigma^{2}I_{{Nr}{({N + L - 1})}}}} \right)}^{- 1}Q} \right\rbrack_{k,k}$for k=, . . . , (K−m) and for k=(K−m+1), . . . K respectively; and thenby iteratively formulating the energy vector {right arrow over(E)}_(i+1)=[E_(1,i+1), E_(2,i+1), . . . , E_(K,i+1)] and setting i=i+1and formulating the extended amplitude square matrix as A_(e,i)²=Diag([{right arrow over (E)}i {right arrow over (E)}i {right arrowover (E)}i]) and the repeating the energy calculation iterations untilE_(k,i)=E_(k,(i−1)) or a given maximum number of iterations I_(max) isreached.
 4. A method as claimed in claim 2, further comprisingdetermining the energies to be allocated for a successive interferencecancellation single-input single-output or multiple-inputmultiple-output receiver in order to maximize the total transmissionrate R_(T)=(K*−m)b_(p)+mb_(p+1), by solving the iterative energyequations$E_{k,i} = \frac{\Gamma \left( {2^{y_{k}} - 1} \right)}{\xi - {E_{k,{({i - 1})}}\left( {\frac{{\xi_{3}}^{2}}{1 + {E_{k,{({i - 1})}}\xi_{1}}} + \frac{{\xi_{4}}^{2}}{1 + {E_{k,{({i - 1})}}\xi_{2}}}} \right)}}$when using the main parameter the inverse covariance matrix C_(k−1) ⁻¹,which changes from one channel to another during the energy calculationprocess, where for the first channel k=1 the available inversecovariance matrix is C₀ ⁻¹=(2σ²)⁻¹I_(N) _(r) _((N+L−1)), to calculatethe distance vectors, {right arrow over (d)}, {right arrow over (d)}₁,{right arrow over (d)}₂ as {right arrow over (d)}=C_(k−1) ⁻¹{right arrowover (q)}_(k), {right arrow over (d)}₁=C_(k−1) ⁻¹{right arrow over(q)}_(k,1) and {right arrow over (d)}₂=C_(k−1) ⁻¹{right arrow over(d)}_(k,2) where {right arrow over (q)}_(k,1)=H_(Prev){right arrow over(s)}_(k) and {right arrow over (q)}_(k,2)=H_(Next){right arrow over(s)}_(k) and further to calculate the weighting factors ξ, ξ₁, ξ₂, ξ₃,ξ₄ as ξ={right arrow over (d)}^(H){right arrow over (q)}_(k), ξ₁={rightarrow over (d)}₁ ^(H){right arrow over (q)}_(k,1), ξ₂={right arrow over(d)}₂ ^(H){right arrow over (q)}_(k,2), ξ₃={right arrow over(d)}^(H){right arrow over (q)}_(k,1) and =ξ₄={right arrow over(d)}^(H){right arrow over (q)}_(k,2) when transmitting the data at therate b_(p) bits per symbol over the channel k for a target SNR ofγ*_(k)=Γ(2^(b) ^(p) −1) and then by using the allocated energy E_(k) tocalculate the inverse covariance matrix C_(k) ⁻¹ using$C_{k}^{- 1} = {C_{k - 1}^{- 1} - {\zeta \overset{\rightarrow}{d}{\overset{\rightarrow}{d}}^{H}} - {\left( {\zeta_{1} + {{\zeta\zeta}_{1}^{2}{\xi_{3}}^{2}}} \right){\overset{\rightarrow}{d}}_{1}{\overset{\rightarrow}{d}}_{1}^{H}} - {\left( {\zeta_{2} + {{\zeta\zeta}_{2}^{2}{\xi_{4}}^{2}}} \right){\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{2}^{H}} + {{\zeta\zeta}_{1}\left( {{\zeta_{3}\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{1}^{H}} + {\zeta_{3}^{*}\left( {\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{1}^{H}} \right)}^{H}} \right)} + {{\zeta\zeta}_{2}\left( {{\zeta_{4}\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{2}^{H}} + {\zeta_{4}^{*}\left( {\overset{\rightarrow}{d}{\overset{\rightarrow}{d}}_{2}^{H}} \right)}^{H}} \right)} - {{\zeta\zeta}_{1}{{\zeta_{2}\left( {{\xi_{3}\xi_{4}^{*}{\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{1}^{H}} + {\left( {\xi_{3}\xi_{4}^{*}} \right)^{*}\left( {{\overset{\rightarrow}{d}}_{2}{\overset{\rightarrow}{d}}_{1}^{H}} \right)^{H}}} \right)}.}}}$by further defining matrix weighting factors ζ, ζ₁ and ζ₂ as${\zeta = \frac{E_{k}}{1 + {\Gamma \left( {2^{b_{p}} - 1} \right)}}},\mspace{14mu} {\zeta_{1} = {{\frac{E_{k}}{1 + {E_{k}\xi_{1}}}\mspace{14mu} {and}\mspace{14mu} \zeta_{2}} = \frac{E_{k}}{1 + {E_{k}\xi_{2}}}}}$and then by repeating the iterative energy calculations and the inversecovariance calculations if k<K* and then by updating k=k+1 until k=K*.5. A method as claimed in claim 4, further comprising employing asuccessive interference calculation receiver for which the despreadingfilter coefficients are calculated by using the MMSE equalizercoefficients equation$\overset{\rightarrow}{wk} = \frac{C^{- 1}{\overset{\rightarrow}{q}}_{k}}{{\overset{\rightarrow}{q}}_{k}^{H}C^{- 1}{\overset{\rightarrow}{q}}_{k}}$for k=1, . . . , K* to produce the despreading filter coefficientvectors which are 2(N+L−1) dimensional column vectors which are used toformulate the 2(N+L−1)×K* dimensional despreading filter matrix$W = {\begin{bmatrix}W_{1} \\W_{2}\end{bmatrix} = \left\lbrack {{\overset{\rightarrow}{w}}_{1},\mspace{14mu} {\overset{\rightarrow}{w}}_{2},\mspace{14mu} {\ldots \mspace{14mu} {\overset{\rightarrow}{w}}_{k}},\mspace{14mu} {\overset{\rightarrow}{w}}_{K^{*}},} \right\rbrack}$and also the two (N+L−1)×K* dimensional despreading sequence matricesW₁=└{right arrow over (w)}_(1,1), {right arrow over (w)}_(1,2), . . .{right arrow over (w)}_(1,k), {right arrow over (w)}_(1,K*)┘ andW₂=└{right arrow over (w)}_(2,1), {right arrow over (w)}_(2,2), . . .{right arrow over (w)}_(2,k), {right arrow over (w)}_(2,K*)┘ which areused as the first set of despreading filter coefficients {right arrowover (w)}_(1,k) for k=K*, . . . , 1 at the output of first receivingantenna and as the second set of despreading filter coefficients {rightarrow over (w)}_(2,k) for k=K*, . . . , 1 at the output of the secondantenna to despread two sets of signals and then to add the despreadsignals to produce the demodulated signal at the output of each pair ofreceived antennas and to produce versions of the signals appearing atthe outputs of the chip matched filters of the receiving antennas whenremoving the interference coming from the detected signals in order tosuccessively detect the transmitted data. 6-11. (canceled)